//package com.kob.backend.utils.JpcapAnalyze_CSDN;
//
//import com.kob.backend.mapper.MyPacketMapper;
//import com.kob.backend.pojo.MyPacket;
//import com.kob.backend.service.net.MyPacketService;
//import jakarta.annotation.Resource;
//import jpcap.JpcapCaptor;
//import jpcap.packet.*;
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.io.BufferedWriter;
//import java.io.FileWriter;
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
//// 线程任务类,用来捕获数据包;
//public class CaptureThread implements Runnable {
//
//    private JpcapCaptor jpcap;
//    private int num;
//
//    public CaptureThread(JpcapCaptor jpcap, int k) {
//        this.jpcap = jpcap;
//        this.num = k;
//    }
//
//    public boolean run = true;// 用来控制是否抓包;
//
//    @Override
//    public void run() {
//        //List<String> myPacketList = new ArrayList<>();
//
//        while (run) {
//            // 抓包并分析
//            try {
//                printThreadInfo();
//                int i = 0;
//                while (i < this.num) {
//                    Packet packet = jpcap.getPacket();
//                    System.out.println(packet);
//                    // 创建分析数据包对象 ap,分析数据包
//                    AnalyzePacket ap = new AnalyzePacket();
//                    ap.setPacket(packet);
//                    MyPacket myPacket = ap.analyzePacket();
//                    //myPacketList.add(myPacket.toString()+"\n");
//
//                    //myPacketService.save(myPacket);
//                    //myPacketMapper.insert(myPacket);
//                    // 抓包线程休眠1秒;
//                    Thread.sleep(200);
//                    i++;// 捕获四个数据包
//                }
//                //writeTxtFile(myPacketList,"E:\\workspace\\Java\\backend\\src\\main\\java\\com\\kob\\backend\\packet.txt");
//                // 开始抓包
//                //Packet packet = jpcap.getPacket();
//
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//
//        }
//    }
//    public void writeTxtFile(List<String> myPacketList, String filePath){
//        //String filePath = "path/to/your/file.txt"; // 指定文件路径
//
//        try {
//            // 创建一个BufferedWriter对象，用于写入文件
//            BufferedWriter writer = new BufferedWriter(new FileWriter(filePath));
//
//            String textToWrite = myPacketList.toString(); // 要写入文件的文本
//
//            // 将文本写入文件
//            writer.write(textToWrite);
//
//            // 关闭写入流
//            writer.close();
//
//            System.out.println("文本已成功写入文件。");
//        } catch (IOException e) {
//            System.out.println("写入文件时发生错误: " + e.getMessage());
//        }
//    }
//    private static void printThreadInfo() {
//        System.out.println("当前运行的线程名为： " + Thread.currentThread().getName());
//    }
//}
